package com.bd.scm.domain.dto.timeCard;

import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author yufc
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "考勤封账查询")
public class AccountsViewSearchDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty( value = "年份", dataType = "Integer", position = 0, required = true, example = "2020")
    private Integer settleYear;

    @ApiModelProperty( value = "月份", dataType = "Integer", position = 1, required = true, example = "7")
    private Integer settleMonth;


    @ApiModelProperty( value = "封账状态", notes = "1: 考勤员封账，2：HR封账， 0：全部", dataType = "Integer", position = 2, required = false, example = "1")
    private Integer lockStatus;

    @ApiModelProperty( value = "考勤状态", notes = "1: 正常，2：异常， 0：全部", dataType = "Integer", position = 3, required = false, example = "1")
    private Integer attendanceStatus;

    @ApiModelProperty( value = "工号或姓名", dataType = "String", position = 4, required = false, example = "张三")
    private String userNoOrName;

    @ApiModelProperty( value = "员工类型", dataType = "String", position = 5, required = false, example = "外包工")
    private String userType;

    @ApiModelProperty( value = "所属公司", dataType = "String", position = 6, required = false, example = "华域视觉")
    private String userCompany;

    @ApiModelProperty( value = "工作状态", dataType = "String", position = 7, required = false, example = "在职")
    private String userStatus;

    @ApiModelProperty( value = "部门ID集合", notes = "部门ID集合", dataType = "List", position = 8, required = false, example = "[1,2]")
    private List<Long> deptIds;

    @ApiModelProperty( value = "员工ID集合", notes = "员工ID集合", dataType = "List", position = 9, required = false, example = "[1,2]")
    private List<Long> userIds;


}